package curves;

import java.util.List;

public interface Curve {

    List<Point> getInitialPoints();

    List<Point> getPoints();

    void setOpen(boolean open);

    boolean isOpen();

    void addPoint(Point point);

    void removePoint(Point point);

    void setCurveAlgorithm(CurveAlgorithm algorithm);

    CurveAlgorithm getCurveAlgorithm();

    void addPoint(double x, double y);

    Surface getSurface();

    void updateCurve(Point point);

    Bounds getBounds();
}
